// JavaScript Document
	//行ID计数器,以保证生成的行不会有重复的ID
	var _row_unique_id = 1;
	//列ID计数器

	var _cell_unique_id = 1;

	
	var rowContent = new Array();
	var backRowContent = new Array();
	
	//动态列范围
	var dynaColScope = new Array(2,-1);
	
	function setRowContent(rowContArray){
		rowContent = rowContentArray;
		backRowContent = rowContent.concat();
	}
	
	
	//
    //表格顺序增加一行.返回新添加行的ID
	//参数:
	//	tabid-表格ID
	//	colcount-列数
	//  fnMsOver - 鼠标经过该行时的动作函数
	//  fnMsOut - 鼠标离开该行时的动作函数
	//
	function insertTableRow(tabid,   fnMsOver, fnMsOut){
		var table1 = document.getElementById(tabid);
		var tbody = table1.getElementsByTagName("tbody");
		if(tbody.length<1) return;
		_row_unique_id++; 
		
		var newRow = document.createElement("tr");
		newRow.id = tabid+"_row_"+_row_unique_id;//设置新行ID
		newRow.className = 'table3';//设置新行样式
		if(fnMsOver)
			newRow.onmouseover = fnMsOver;
		if(fnMsOut)
			newRow.onmouseout = fnMsOut;
		for (i=0;i<rowContent.length;i++)//每行的各列数据,为每个单元格初始化显示内容 
		{
			var newCell=document.createElement("td");
			newCell.align="center"; 			
			newCell.innerHTML=rowContent[i];
			if(backRowContent.length >0 && rowContent.length != backRowContent.length && i >= dynaColScope[0] && i < rowContent.length+dynaColScope[1] )
			{
				_cell_unique_id++;
				newCell.id = tabid+"_cell_"+_cell_unique_id;
			}
			newRow.appendChild(newCell);
		}
		tbody[0].appendChild(newRow);

		return newRow.id;
	} 
	
	//
	//删除表格一行

	//参数: row - 要删除行的ID
	//
	function delTableRow(obj){
		var oParent = obj;
		var table;
		var row;
		while(oParent.tagName != "TR")
			oParent = oParent.parentNode;
		if(oParent.tagName=="TR")
			row = oParent;
		
		while(oParent.tagName != "TABLE")
			oParent = oParent.parentNode;
		if(oParent.tagName=="TABLE")
			table = oParent;

		if(table && row)
			table.deleteRow(row.rowIndex);
		
	} 
	
	/*
	 * 为指定表格的"thead"添加列

	 * 参数:tableid - 表格ID
	 * 		innerHtml - 相应单元格内容

	 * 		colPos - 添加列的位置.默认追加到最右列. 如果参数值为负数,则添加时从右计数,否则从左计数
	 */
	function addTHeadCol(tableid,innerHtml, colPos){
		var thead=document.getElementById(tableid).getElementsByTagName('thead');
		var rows =thead[0].rows;

	    for(var i=0;i<rows.length;i++){
		    _cell_unique_id++;			
			var cell;
			if(!colPos)
				cell=rows[i].insertCell(rows[i].cells.length);
			else if(colPos>=0)
				cell=rows[i].insertCell(colPos);
			else if(colPos<0)
				cell=rows[i].insertCell(rows[i].cells.length+colPos);
		   cell.innerHTML=innerHtml;  
		   cell.id=tableid+"_cell_"+_cell_unique_id;
		}
	}	
	
	/*
	 * 为指定表格的"tbody"添加列

	 * 参数:tableid - 表格ID
	 * 		innerHtml - 相应单元格内容

	 * 		colPos - 添加列的位置.默认追加到最右列. 如果参数值为负数,则添加时从右计数,否则从左计数
	 */
	function addTBodyCol(tableid,innerHtml, colPos){
		var tbody=document.getElementById(tableid).getElementsByTagName('tbody');
		var rows =tbody[0].rows;

	    for(var i=0;i<rows.length;i++){
		    _cell_unique_id++;		
			var cell;
			if(!colPos)
				cell=rows[i].insertCell(rows[i].cells.length);
			else if(colPos>0)
				cell=rows[i].insertCell(colPos);
			else if(colPos<0)
				cell=rows[i].insertCell(rows[i].cells.length+colPos);
			cell.align="center";
		   cell.innerHTML=innerHtml;  
		   cell.id=tableid+"_cell_"+_cell_unique_id;
		}
		//备份原始列内容

		if(backRowContent.length==0){
			backRowContent = rowContent.concat();
		}
		//改变列内容数组:添加一个元素

		var oldLen = rowContent.length;
		var insPos = colPos > 0? colPos : rowContent.length + colPos;
		for(var i =  oldLen; i > insPos; i--)
		{
			rowContent[i] = rowContent[i-1];
		}
		rowContent[insPos] = innerHtml;
	}

	/*
	*删除指定表格的所有动态增加的列

	*参数:
	*		tableid - 表格ID
	*/
	function clearAddedCols(tableid){
		var rows=document.getElementById(tableid).rows;	
		//alert(rows.length);
	    for(var i=0; i<rows.length; i++){
			var cells = rows[i].childNodes;
			for(var j = 0; j < cells.length; ){
				if(cells[j].id && cells[j].id.indexOf(tableid+"_cell_") > -1){					
					rows[i].removeChild(cells[j]);
				}
				else{
					j++;
				}
			}
		}

		//恢复原始列内容

		if(backRowContent && backRowContent.length>0)
		{
			rowContent.length=0;
			rowContent = backRowContent.concat();
		}
		_cell_unique_id =1;
	}

